<html>
<head><meta charset="utf-8"><title>Too many PRs · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html">Too many PRs</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="209434374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209434374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Braden Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209434374">(Sep 08 2020 at 19:42)</a>:</h4>
<p>Is there ever a such thing as too many PRs? (Yes.)<br>
I usually jump between tasks often in my own projects, and am wondering if I should avoid doing that with rustc, to save maintainer time. (as even small PRs take time to review and merge)</p>



<a name="209434622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209434622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209434622">(Sep 08 2020 at 19:44)</a>:</h4>
<p>I would say more small PRs is fine, review latency is ... <a href="#narrow/stream/131828-t-compiler/topic/.22Review.20latency.20can.20be.20challenging.22">challenging</a> so it's better to parallelize the work.</p>



<a name="209434679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209434679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209434679">(Sep 08 2020 at 19:44)</a>:</h4>
<p>if it makes more sense to do things in one big PR though, that works too</p>



<a name="209434712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209434712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209434712">(Sep 08 2020 at 19:45)</a>:</h4>
<p>but I wouldn't <em>delay</em> changes because you have a lot of PRs open</p>



<a name="209434724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209434724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209434724">(Sep 08 2020 at 19:45)</a>:</h4>
<p>RustC as a whole gets a ton of PRs anyway, enough that there are some wonderful people who make rollups of multiple PRs so that they can be tested and merged together.  So I wouldn't worry too much about multiple PRs, all else being equal.  (Especially if they're completely isolated from each other.)</p>



<a name="209434940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209434940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209434940">(Sep 08 2020 at 19:46)</a>:</h4>
<p>That said, if they do build on each other, that's not "all else being equal" -- because of review and bors latency, sometimes people will do a PR that intentionally has multiple commits where the commits are intended to be meaningful changes on their own to help the reviewer, but that they're all together in one PR.  (For the kind of thing where at work I might bug someone to just review it _right now_ and get it checked in, but that's not as feasible for rustc PRs.)</p>



<a name="209435017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209435017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209435017">(Sep 08 2020 at 19:47)</a>:</h4>
<p>/me glances nervously at <a href="https://github.com/rust-lang/rust/pull/75756">https://github.com/rust-lang/rust/pull/75756</a></p>



<a name="209435095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209435095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209435095">(Sep 08 2020 at 19:48)</a>:</h4>
<p>There are other versions of this as well, like send the cleanup PR first, if it's easy to review and safe, then keep working from there.  And if you get further along, push new stuff as a draft PR with a note to ignore the first commit because it's part of PR #_____.</p>
<p>EDIT: ...exactly like the one <span class="user-mention" data-user-id="232545">@Joshua Nelson</span> just pointed at :P</p>



<a name="209435200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209435200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209435200">(Sep 08 2020 at 19:49)</a>:</h4>
<p>although 21 commits is probably a <em>little</em> over the top</p>



<a name="209461391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209461391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209461391">(Sep 09 2020 at 00:48)</a>:</h4>
<p>it's fine if you want to submit multiple PRs - it makes it easier as you can switch to something else while one is waiting for a review (which can take a few weeks). The only problem is that if you are busy with one, and there are changes requested on another one and you can't handle both at the same time, it will add to the "latency" of a PR being merged or could end up in one of the PRs being closed due to inactivity.</p>



<a name="209479828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209479828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209479828">(Sep 09 2020 at 07:35)</a>:</h4>
<p>Another downside of juggling PRs is that you'll probably have to rebase more often</p>



<a name="209503704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209503704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209503704">(Sep 09 2020 at 12:28)</a>:</h4>
<p>Smaller PRs are much easier to rebase though</p>



<a name="209507658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209507658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209507658">(Sep 09 2020 at 13:09)</a>:</h4>
<p>I also prefer rebasing more often but having fewer, less complex conflicts to resolve</p>



<a name="209508365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209508365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209508365">(Sep 09 2020 at 13:15)</a>:</h4>
<p>I can review multiple smaller PRs much faster than a single PR with all the changes from those multiple PRs (and re-reviews after rebases and such are usually super fast as I don't have to think about additional interactions). Even if you split it up into separate commits, github just doesn't make this nice to review</p>



<a name="209548416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209548416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209548416">(Sep 09 2020 at 18:18)</a>:</h4>
<p>I will add to that, though, that if you're making a lot of PRs in the same area then that becomes more confusing if they're small -- I would add either a "review order" on them or a separate document that says "hey, this is the overall plan" or similar.</p>



<a name="209582286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209582286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209582286">(Sep 09 2020 at 23:44)</a>:</h4>
<p>also if some of those changes get rejected, at least the others can make it upstream assuming they are not dependent on the ones that didn't make it</p>



<a name="209765540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Too%20many%20PRs/near/209765540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Too.20many.20PRs.html#209765540">(Sep 11 2020 at 10:48)</a>:</h4>
<p>So to summarize, many independent PRs are totally fine and actually welcome as this greatly helps reviewers.<br>
Long chains of PRs that build on top of each other are harder, and more of a case-by-case thing. Reviewers are people, talk to them. :)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>